/* Nifti version 2 types. */
/*! unsigned char. */
const NIFTI_TYPE_UINT8 = 2;
/*! signed short. */
const NIFTI_TYPE_INT16 = 4;
/*! signed int. */
const NIFTI_TYPE_INT32 = 8;
/*! 32 bit float. */
const NIFTI_TYPE_FLOAT32 = 16;
/*! 64 bit complex = 2 32 bit floats. */
const NIFTI_TYPE_COMPLEX64 = 32;
/*! 64 bit float = double. */
const NIFTI_TYPE_FLOAT64 = 64;
/*! 3 8 bit bytes. */
const NIFTI_TYPE_RGB24 = 128;
/*! signed char. */
const NIFTI_TYPE_INT8 = 256;
/*! unsigned short. */
const NIFTI_TYPE_UINT16 = 512;
/*! unsigned int. */
const NIFTI_TYPE_UINT32 = 768;
/*! signed long long. */
const NIFTI_TYPE_INT64 = 1024;
/*! unsigned long long. */
const NIFTI_TYPE_UINT64 = 1280;
/*! 128 bit float = long double. */
const NIFTI_TYPE_FLOAT128 = 1536;
/*! 128 bit complex = 2 64 bit floats. */
const NIFTI_TYPE_COMPLEX128 = 1792;
/*! 256 bit complex = 2 128 bit floats */
const NIFTI_TYPE_COMPLEX256 = 2048;
/*! 4 8 bit bytes. */
const NIFTI_TYPE_RGBA32 = 2304;

/*! Nifti version 2 header length. */
const NIFTI2_HEADER_TOTAL_LENGTH_BYTES = 540;
const NIFTI2_HEADER_TOTAL_LENGTH_BITS = 4320;

const NIFTI1_HEADER_TOTAL_LENGTH_BYTES = 348;
const NIFTI1_HEADER_TOTAL_LENGTH_BITS = 2784;

/*! Nifti version 2 variables length. */
const NIFTI2_HEADER_MAGIC_LENGTH_BYTES = 8;
const NIFTI2_HEADER_DESCRIPTION_LENGTH_BYTES = 80;
const NIFTI2_HEADER_AUX_FILE_LENGTH_BYTES = 24;
const NIFTI2_HEADER_INTENT_NAME_LENGTH_BYTES = 16;
const NIFTI2_HEADER_DIM_INFO_LENGTH_BYTES = 1;
const NIFTI2_HEADER_ENDOFFILE_LENGTH_BYTES = 15;
const NIFTI2_VOX_OFFSET_BYTES = 544;

/*! Nifti version 2 end of file string. */
const NIFTI2_HEADER_MAGIC_STRING = 'n+2\0';
const NIFTI2_HEADER_ENDOFFILE_STRING = '000000000000000';

/*! Nifti version 2 options variables. */
const NIFTI2_ALIGNED_ANAT = 2;
const NIFTI2_XYZT_UNITS_UNKNOWN = 0;

const NIFTI1_HEADER_MAGIC_LENGTH_BYTES = 4;
const NIFTI1_HEADER_DESCRIPTION_LENGTH_BYTES = 80;
const NIFTI1_HEADER_AUX_FILE_LENGTH_BYTES = 24;
const NIFTI1_HEADER_INTENT_NAME_LENGTH_BYTES = 16;
const NIFTI1_HEADER_DIM_INFO_LENGTH_BYTES = 1;
const NIFTI1_HEADER_ENDOFFILE_LENGTH_BYTES = 4;
const NIFTI1_VOX_OFFSET_BYTES = 352;

/*! Nifti version 1 end of file string. */
const NIFTI1_HEADER_MAGIC_STRING = 'n+1\0';
const NIFTI1_HEADER_ENDOFFILE_STRING = '0000';

/*! Nifti version 1 options variables. */
const NIFTI1_ALIGNED_ANAT = 2;
const NIFTI1_XYZT_UNITS_UNKNOWN = 0;

export {
  NIFTI_TYPE_UINT8,
  NIFTI_TYPE_INT16,
  NIFTI_TYPE_INT32,
  NIFTI_TYPE_FLOAT32,
  NIFTI_TYPE_COMPLEX64,
  NIFTI_TYPE_FLOAT64,
  NIFTI_TYPE_RGB24,
  NIFTI_TYPE_INT8,
  NIFTI_TYPE_UINT16,
  NIFTI_TYPE_UINT32,
  NIFTI_TYPE_INT64,
  NIFTI_TYPE_UINT64,
  NIFTI_TYPE_FLOAT128,
  NIFTI_TYPE_COMPLEX128,
  NIFTI_TYPE_COMPLEX256,
  NIFTI_TYPE_RGBA32,
  NIFTI2_HEADER_TOTAL_LENGTH_BYTES,
  NIFTI2_HEADER_TOTAL_LENGTH_BITS,
  NIFTI2_HEADER_MAGIC_LENGTH_BYTES,
  NIFTI2_HEADER_DESCRIPTION_LENGTH_BYTES,
  NIFTI2_HEADER_AUX_FILE_LENGTH_BYTES,
  NIFTI2_HEADER_INTENT_NAME_LENGTH_BYTES,
  NIFTI2_HEADER_DIM_INFO_LENGTH_BYTES,
  NIFTI2_HEADER_ENDOFFILE_LENGTH_BYTES,
  NIFTI2_VOX_OFFSET_BYTES,
  NIFTI2_HEADER_MAGIC_STRING,
  NIFTI2_HEADER_ENDOFFILE_STRING,
  NIFTI2_ALIGNED_ANAT,
  NIFTI2_XYZT_UNITS_UNKNOWN,
  NIFTI1_HEADER_TOTAL_LENGTH_BYTES,
  NIFTI1_HEADER_TOTAL_LENGTH_BITS,
  NIFTI1_HEADER_MAGIC_LENGTH_BYTES,
  NIFTI1_HEADER_DESCRIPTION_LENGTH_BYTES,
  NIFTI1_HEADER_AUX_FILE_LENGTH_BYTES,
  NIFTI1_HEADER_INTENT_NAME_LENGTH_BYTES,
  NIFTI1_HEADER_DIM_INFO_LENGTH_BYTES,
  NIFTI1_HEADER_ENDOFFILE_LENGTH_BYTES,
  NIFTI1_VOX_OFFSET_BYTES,
  NIFTI1_HEADER_MAGIC_STRING,
  NIFTI1_HEADER_ENDOFFILE_STRING,
  NIFTI1_ALIGNED_ANAT,
  NIFTI1_XYZT_UNITS_UNKNOWN,
};
